;  NLS
;
; GENERAL PURPOSE EQUATES
;
FORASAV  EPZ 0
FORXSAV  EPZ FORASAV+1
FORYSAV  EPZ FORXSAV+1
FORZPG   EPZ FORYSAV+1
DESTADR  EPZ FORZPG+2
PTRADR   EPZ DESTADR+2
ISIMMED  EPZ PTRADR+2
OP       EPZ ISIMMED+1
MAXLEN   EPZ OP+2
VALUE    EPZ MAXLEN+1
DIGIT    EPZ VALUE+2
LEAD0    EPZ DIGIT+1
JMPADR   EPZ LEAD0+1
COUNT    EPZ JMPADR+2
GOTLN    EPZ COUNT+1
LINEINDX EPZ GOTLN+1
SIGN     EPZ LINEINDX+1
ACL      EPZ SIGN+1
ACH      EPZ ACL+1
XTNDL    EPZ ACH+1
XTNDH    EPZ XTNDL+1
AUXL     EPZ XTNDH+1
AUXH     EPZ AUXL+1
;
PROMPT   EPZ $33
RNDL     EPZ $4E
RNDH     EPZ $4F
STACK    EQU $100
INPUT    EQU $200
;
;
FALSE    EQU 0
TRUE     EQU 1
CR       EQU $8D
BELL     EQU $87
;
;
; "IF" STATEMENT EQUATES
;
EQ       EQU "="
NE       EQU "#"
GT       EQU ">"
LT       EQU "<"
GE       EQU ">"|"="*256
LE       EQU "<"|"="*256
;
;
;
;
;
;
;
; SPEED/ASM ENTRY POINTS
;
;
;
; NOTE: THE EQUATE OF PUTC MUST
; BE CHANGED IF YOU RELOCATE
; SPEED/ASM TO SOME LOCATION
; OTHER THAN $7800
;
PUTC     EQU $7000
GETC     EQU PUTC+3
SAGL     EQU GETC+3          ;FOR USE BY S/A ONLY- SEE DOC.
SAPC     EQU SAGL+3          ; "   "   "  "   "     "   "
HOME     EQU SAPC+3          ;HOME AND CLEAR
READLN   EQU HOME+3
INIT     EQU READLN+3
FOR      EQU INIT+3
FOR0     EQU FOR+3
NEXT     EQU FOR0+3
IFI      EQU NEXT+3
IFI0     EQU IFI+3
IFS      EQU IFI0+3
IFS0     EQU IFS+3
MOVE     EQU IFS0+3
LOAD     EQU MOVE+3
MOVS     EQU LOAD+3
LDSTR    EQU MOVS+3
PRINT    EQU LDSTR+3
PRTSTR   EQU PRINT+3
PRTINT   EQU PRTSTR+3
;
;
;
; SPEED/ASM TEST FILE.
;
;
         JSR INIT            ;AS USUAL.
;
;
         JSR HOME
;
;
         JSR PRINT
         BYT CR,BELL
         BYT "***********************",CR
         BYT "*                     *",CR
         BYT "* SPEED/ASM test pgm. *",CR
         BYT "*                     *",CR
         BYT "***********************",CR
         BYT CR,CR
         BYT "This program checks every subroutine",CR
         BYT "in SPEED/ASM for correctness and",CR
         BYT "and for proper error handling",CR
         BYT CR,"  Each test will be terminated with",CR
         BYT "a message stating whether or not the",CR
         BYT "test was a success.  To continue the",CR
         BYT "test program press return.",CR,0
;
;
;
         JSR GETRTN
;
;
;
;*****************************
;
; Test GETC, PUTC.
;
         JSR PRINT
         BYT CR
         BYT "Testing PUTC:",0
         LDA #"*"
         JSR PUTC
         JSR PUTC
         JSR PUTC
         LDA #CR
         JSR PUTC
         JSR PRINT
         BYT CR,"Three asterisks should have appeared",CR
         BYT "after the colon.",CR,0
;
;
; Test GETC.
;
         JSR PRINT
         BYT CR,"Enter some characters from the",CR
         BYT "Apple's keyboard:",0
;
         JSR GETC
         JSR PUTC
         JSR GETC
         JSR PUTC
         JSR GETC
         JSR PUTC
;
; Clear type-ahead buffer if installed
;
WHLPLS   LDA $C000
         BPL >0
         STA $C010
         JMP WHLPLS
;
^0       JSR PRINT
         BYT CR,CR
         BYT "GETC and PUTC are working",CR,0
         JSR GETRTN
;
;
;
;*********************************
;
; Test the FOR..NEXT loop.
;
         JSR HOME
         JSR PRINT
         BYT CR
         BYT "Testing the FOR..NEXT LOOP",CR,0
;
         JSR FOR0
         ADR I,1,10
         JSR PRTINT
         ADR I
         LDA #" "
         JSR PUTC
         JSR NEXT
;
         LDA #CR
         JSR PUTC
         JSR FOR0
         ADR I,!-5,5
         JSR PRTINT
         ADR I
         LDA #" "
         JSR PUTC
         JSR NEXT
;
         LDA #CR
         JSR PUTC
         JSR FOR
         ADR I,START,STOP,STEP
         JSR PRTINT
         ADR I
         LDA #" "
         JSR PUTC
         JSR NEXT
         JMP >0
;
START    ADR 0
STOP     ADR 25
STEP     ADR 5
;
;
^0       LDA #CR
         JSR PUTC
         JSR FOR
         ADR I,STRT0,STOP0,STEP0
         JSR PRTINT
         ADR I
         LDA #" "
         JSR PUTC
         JSR NEXT
         JMP >0
;
STRT0    ADR 5
STOP0    ADR !-8
STEP0    ADR !-2
;
;
^0       JSR GETRTN
;
;
;
;*********************************
;
; Test IFI and IFI0.
;
         JSR PRINT
         BYT CR
         BYT "Testing IFI0:",CR,0
;
         JSR PRINT
         BYT CR
         BYT "Does 5=6? ",0
         JSR LOAD
         ADR 5,I
         JSR IFI0
         ADR I,EQ,6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Does 5=5? ",0
         JSR IFI0
         ADR I,EQ,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Does 5=4? ",0
         JSR IFI0
         ADR I,EQ,4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Does 5 <> 4? ",0
         JSR IFI0
         ADR I,NE,4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Does 5 <> 5? ",0
         JSR IFI0
         ADR I,NE,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Does 5 <> 6? ",0
         JSR IFI0
         ADR I,NE,6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1:
         JSR LOAD
         ADR 6,J
         JSR PRINT
         BYT CR
         BYT "Testing IFI:",CR,CR
         BYT "Is 5=6? ",0
         JSR IFI
         ADR I,EQ,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR LOAD
         ADR 5,J
         JSR PRINT
         BYT "Is 5=5? ",0
         JSR IFI
         ADR I,EQ,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5=4? ",0
         JSR LOAD
         ADR 4,J
         JSR IFI
         ADR I,EQ,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5 <> 6? ",0
         JSR LOAD
         ADR 6,J
         JSR IFI
         ADR I,NE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5 <> 5? ",0
         JSR LOAD
         ADR 5,J
         JSR IFI
         ADR I,NE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5 <> 4? ",0
         JSR LOAD
         ADR 4,J
         JSR IFI
         ADR I,NE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1:
         JSR GETRTN
;
;
         JSR PRINT
         BYT "Testing IFI0:",CR,CR
         BYT "IS 5<6? ",0
         JSR IFI0
         ADR I,LT,6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<5? ",0
         JSR IFI0
         ADR I,LT,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<4? ",0
         JSR IFI0
         ADR I,LT,4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<-5? ",0
         JSR IFI0
         ADR I,LT,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<5? ",0
         JSR LOAD
         ADR !-5,I
         JSR IFI0
         ADR I,LT,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<-4? ",0
         JSR IFI0
         ADR I,LT,!-4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<-5? ",0
         JSR IFI0
         ADR I,LT,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<-6? ",0
         JSR IFI0
         ADR I,LT,!-6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1:
         JSR PRINT
         BYT CR,"Testing IFI:",CR,CR
         BYT "Is 5<6? ",0
         JSR LOAD
         ADR 5,I
         JSR LOAD
         ADR 6,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<5? ",0
         JSR LOAD
         ADR 5,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<4? ",0
         JSR LOAD
         ADR 4,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<-5? ",0
         JSR LOAD
         ADR !-5,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<5? ",0
         JSR LOAD
         ADR !-5,I
         JSR LOAD
         ADR 5,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<-4? ",0
         JSR LOAD
         ADR !-4,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<-5? ",0
         JSR LOAD
         ADR !-5,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<-6? ",0
         JSR LOAD
         ADR !-6,J
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR GETRTN
;
;
         JSR PRINT
         BYT "Testing IFI0:",CR,CR
         BYT "Is 5<=6? ",0
         JSR LOAD
         ADR 5,I
         JSR IFI0
         ADR I,LE,6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<=5? ",0
         JSR IFI0
         ADR I,LE,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<=4? ",0
         JSR IFI0
         ADR I,LE,4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5<=-5? ",0
         JSR IFI0
         ADR I,LE,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<=5? ",0
         JSR LOAD
         ADR !-5,I
         JSR IFI0
         ADR I,LE,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<=-4? ",0
         JSR IFI0
         ADR I,LE,!-4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<=-5? ",0
         JSR IFI0
         ADR I,LE,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5<=-6? ",0
         JSR IFI0
         ADR I,LE,!-6
         BTR >1
         JSR NOITDONT
         JMP >0
;
^1       JSR YESITDOS
^0       JSR PRINT
         BYT CR
         BYT "Is 5>4? ",0
         JSR LOAD
         ADR 5,I
         JSR IFI0
         ADR I,GT,4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5>5? ",0
         JSR IFI0
         ADR I,GT,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5>6? ",0
         JSR IFI0
         ADR I,GT,6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5>-5? ",0
         JSR IFI0
         ADR I,GT,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>5? ",0
         JSR LOAD
         ADR !-5,I
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>-4? ",0
         JSR IFI0
         ADR I,GT,!-4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>-5? ",0
         JSR IFI0
         ADR I,GT,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>-6? ",0
         JSR IFI0
         ADR I,GT,!-6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR GETRTN
;
;
         JSR PRINT
         BYT CR,CR
         BYT "Is 5>=6? ",0
         JSR LOAD
         ADR 5,I
         JSR IFI0
         ADR I,GE,6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5>=5? ",0
         JSR IFI0
         ADR I,GE,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5>=4? ",0
         JSR IFI0
         ADR I,GE,4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is 5>=-5? ",0
         JSR IFI0
         ADR I,GE,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>=5? ",0
         JSR LOAD
         ADR !-5,I
         JSR IFI0
         ADR I,GE,5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>=-4? ",0
         JSR IFI0
         ADR I,GE,!-4
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>=-5? ",0
         JSR IFI0
         ADR I,GE,!-5
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR PRINT
         BYT "Is -5>=-6? ",0
         JSR IFI0
         ADR I,GE,!-6
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
^1       JSR GETRTN
;
;
; Test some boundry conditions.
;
         JSR PRINT
         BYT "Testing boundry conditions",CR,CR,0
;
; 0>-1
;
         JSR LOAD
         ADR 0,I
         JSR PRINT
         BYT "Is 0>-1? ",0
         JSR IFI0
         ADR I,GT,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; 0>=-1
;
^1       JSR PRINT
         BYT "Is 0>=-1? ",0
         JSR IFI0
         ADR I,GE,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; 0<-1
;
^1       JSR PRINT
         BYT "Is 0<-1? ",0
         JSR IFI0
         ADR I,LT,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; 0<=-1
;
^1       JSR PRINT
         BYT "Is 0<=-1? ",0
         JSR IFI0
         ADR I,LE,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; 32767>-1
;
^1       JSR PRINT
         BYT "Is 32767>-1? ",0
         JSR LOAD
         ADR 32767,I
         JSR IFI0
         ADR I,GT,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; 32767>=-1
;
^1       JSR PRINT
         BYT "Is 32767>=-1? ",0
         JSR IFI0
         ADR I,GE,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; 32767<-1
;
^1       JSR PRINT
         BYT "Is 32767<-1? ",0
         JSR IFI0
         ADR I,LT,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; 32767 <= -1
;
^1       JSR PRINT
         BYT "Is 32767<=-1? ",0
         JSR IFI0
         ADR I,LE,!-1
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; 32767 > -32767
;
^1       JSR PRINT
         BYT "Is 32767>-32767? ",0
         JSR LOAD
         ADR !-32767,J
         JSR IFI
         ADR I,GT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; 32767 >= -32767
;
^1       JSR PRINT
         BYT "Is 32767>=-32767? ",0
         JSR IFI
         ADR I,GE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; 32767<-32767
;
^1       JSR PRINT
         BYT "Is 32767<-32767? ",0
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; 32767<=-32767
;
^1       JSR PRINT
         BYT "Is 32767<=-32767? ",0
         JSR IFI
         ADR I,LE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
;
; -1 > 0
;
^1       JSR PRINT
         BYT "Is -1>0? ",0
         JSR LOAD
         ADR !-1,I
         JSR IFI0
         ADR I,GT,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; -1 >= 0
;
^1       JSR PRINT
         BYT "Is -1>=0? ",0
         JSR IFI0
         ADR I,GE,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; -1 < 0
;
^1       JSR PRINT
         BYT "Is -1<0? ",0
         JSR IFI0
         ADR I,LT,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -1 <= 0
;
^1       JSR PRINT
         BYT "Is -1<=0? ",0
         JSR IFI0
         ADR I,LE,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -1 > 32767
;
^1       JSR PRINT
         BYT "Is -1>32767? ",0
         JSR LOAD
         ADR 32767,J
         JSR IFI
         ADR I,GT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -1 >= 32767
;
^1       JSR PRINT
         BYT "Is -1>=32767? ",0
         JSR IFI
         ADR I,GE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -1 <32767
;
^1       JSR PRINT
         BYT "Is -1<32767? ",0
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -1 <= 32767
;
^1       JSR PRINT
         BYT "Is -1<=32767? ",0
         JSR IFI
         ADR I,LE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
^1       JSR GETRTN
;
;
         JSR PRINT
         BYT "Testing more boundry conditions:",CR,CR
         BYT "Is -32767>0? ",0
         JSR LOAD
         ADR !-32767,I
         JSR IFI0
         ADR I,GT,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -32767 >= 0
;
^1       JSR PRINT
         BYT "Is -32767>=0? ",0
         JSR IFI0
         ADR I,GE,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; -32767 < 0
;
^1       JSR PRINT
         BYT "Is -32767<0? ",0
         JSR IFI0
         ADR I,LT,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; -32767<=0
;
^1       JSR PRINT
         BYT "Is -32767<=0? ",0
         JSR IFI0
         ADR I,LE,0
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; -32767>-1
;
^1       JSR PRINT
         BYT "Is -32767>-1? ",0
         JSR LOAD
         ADR !-1,J
         JSR IFI
         ADR I,GT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -32767 >= -1
;
^1       JSR PRINT
         BYT "Is -32767>=-1? ",0
         JSR IFI
         ADR I,GE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
; -32767 < -1
;
^1       JSR PRINT
         BYT "Is -32767<-1? ",0
         JSR IFI
         ADR I,LT,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
; -32767 <= -1
;
^1       JSR PRINT
         BYT "Is -32767<=-1? ",0
         JSR IFI
         ADR I,LE,J
         BTR >0
         JSR NOITDONT
         JMP >1
;
^0       JSR YESITDOS
;
;
;
^1       JSR PRINT
         BYT CR,CR
         BYT "That's it for now...",CR,0
         BRK 
;
;
;
;
;
;
;
;
;
GETRTN   JSR PRINT
         BYT CR,"(Press return to continue):",0
         JSR READLN
         JSR HOME
         RTS 
;
NOITDONT JSR PRINT
         BYT "NO!",CR,0
         RTS 
;
YESITDOS JSR PRINT
         BYT "YES!",CR,0
         RTS 
;
;
;
;
I        ADR 0
J        ADR 0
         END 